package com.todo.sight.application.backend.service;

import com.todo.common.common.entity.response.BizPageResponse;
import com.todo.common.common.entity.response.BizResponse;
import com.todo.sight.application.iface.backend.request.*;
import com.todo.sight.application.iface.backend.response.QuerySightPoiByConditionResp;
import com.todo.sight.application.iface.backend.response.QuerySightPoiDetailResp;

/**
 * (SightPoi)表服务接口
 *
 * @author zhangwenxiang
 * @since 2024-03-04 00:19:48
 */
public interface SightPoiBackendService {


    /**
     * 根据主键查询景点POI详情
     *
     * @param req
     * @return
     */
    BizResponse<QuerySightPoiDetailResp> querySightPoiById(QuerySightPoiByIdReq req);

    /**
     * 多条件查询景点PIO列表
     *
     * @param req
     * @return
     */
    BizPageResponse<QuerySightPoiByConditionResp> querySightPoiByCondition(QuerySightPoiByConditionReq req);

    /**
     * 新增POI详情信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> insertSightPoi(InsertSightPoiReq req);

    /**
     * 根据主键更新POI信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> updateSightPoiById(UpdateSightPoiReq req);

    /**
     * 删除POI信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> removeSightPoiById(RemoveSightPoiByIdReq req);

    /**
     * 根据主键启禁用景点POI信息
     *
     * @param req
     * @return
     */
    BizResponse<Boolean> enableSightPoiById(EnableSightPoiByIdReq req);
}
